// samsting : this file is auto create.

#include "Ecs/2014-05-26/DescribeInstanceAttributeResponse.h"

namespace aliyun { namespace Ecs {

DescribeInstanceAttributeResponse::DescribeInstanceAttributeResponse() {
}

const string& DescribeInstanceAttributeResponse::LockReason::GetLockReason(void) const {
  return LockReason_;
}

const std::vector<IpAddress>& DescribeInstanceAttributeResponse::VpcAttributes::GetPrivateIpAddress(void) const {
  return PrivateIpAddress_;
}

const string& DescribeInstanceAttributeResponse::VpcAttributes::GetVpcId(void) const {
  return VpcId_;
}

const string& DescribeInstanceAttributeResponse::VpcAttributes::GetVSwitchId(void) const {
  return VSwitchId_;
}

const string& DescribeInstanceAttributeResponse::VpcAttributes::GetNatIpAddress(void) const {
  return NatIpAddress_;
}

const string& DescribeInstanceAttributeResponse::EipAddress::GetAllocationId(void) const {
  return AllocationId_;
}

const string& DescribeInstanceAttributeResponse::EipAddress::GetIpAddress(void) const {
  return IpAddress_;
}

int DescribeInstanceAttributeResponse::EipAddress::GetBandwidth(void) const {
  return Bandwidth_;
}

const string& DescribeInstanceAttributeResponse::EipAddress::GetInternetChargeType(void) const {
  return InternetChargeType_;
}

const std::vector<DescribeInstanceAttributeResponse::LockReason>& DescribeInstanceAttributeResponse::GetOperationLocks(void) const {
  return OperationLocks_;
}

const DescribeInstanceAttributeResponse::VpcAttributes& DescribeInstanceAttributeResponse::GetVpcAttributes(void) const {
  return VpcAttributes_;
}

const DescribeInstanceAttributeResponse::EipAddress& DescribeInstanceAttributeResponse::GetEipAddress(void) const {
  return EipAddress_;
}

const std::vector<SecurityGroupId>& DescribeInstanceAttributeResponse::GetSecurityGroupIds(void) const {
  return SecurityGroupIds_;
}

const std::vector<IpAddress>& DescribeInstanceAttributeResponse::GetPublicIpAddress(void) const {
  return PublicIpAddress_;
}

const std::vector<IpAddress>& DescribeInstanceAttributeResponse::GetInnerIpAddress(void) const {
  return InnerIpAddress_;
}

const string& DescribeInstanceAttributeResponse::GetInstanceId(void) const {
  return InstanceId_;
}

const string& DescribeInstanceAttributeResponse::GetInstanceName(void) const {
  return InstanceName_;
}

const string& DescribeInstanceAttributeResponse::GetImageId(void) const {
  return ImageId_;
}

const string& DescribeInstanceAttributeResponse::GetRegionId(void) const {
  return RegionId_;
}

const string& DescribeInstanceAttributeResponse::GetZoneId(void) const {
  return ZoneId_;
}

const string& DescribeInstanceAttributeResponse::GetClusterId(void) const {
  return ClusterId_;
}

const string& DescribeInstanceAttributeResponse::GetInstanceType(void) const {
  return InstanceType_;
}

const string& DescribeInstanceAttributeResponse::GetHostName(void) const {
  return HostName_;
}

const string& DescribeInstanceAttributeResponse::GetStatus(void) const {
  return Status_;
}

const string& DescribeInstanceAttributeResponse::GetInternetChargeType(void) const {
  return InternetChargeType_;
}

int DescribeInstanceAttributeResponse::GetInternetMaxBandwidthIn(void) const {
  return InternetMaxBandwidthIn_;
}

int DescribeInstanceAttributeResponse::GetInternetMaxBandwidthOut(void) const {
  return InternetMaxBandwidthOut_;
}

const string& DescribeInstanceAttributeResponse::GetVlanId(void) const {
  return VlanId_;
}

const string& DescribeInstanceAttributeResponse::GetSerialNumber(void) const {
  return SerialNumber_;
}

const string& DescribeInstanceAttributeResponse::GetCreationTime(void) const {
  return CreationTime_;
}

const string& DescribeInstanceAttributeResponse::GetDescription(void) const {
  return Description_;
}

const string& DescribeInstanceAttributeResponse::GetInstanceNetworkType(void) const {
  return InstanceNetworkType_;
}

const string& DescribeInstanceAttributeResponse::GetIoOptimized(void) const {
  return IoOptimized_;
}

const string& DescribeInstanceAttributeResponse::GetInstanceChargeType(void) const {
  return InstanceChargeType_;
}

const string& DescribeInstanceAttributeResponse::GetExpiredTime(void) const {
  return ExpiredTime_;
}

const char* DescribeInstanceAttributeResponse::BaseKey(void) {
  return "DescribeInstanceAttributeResponse";
}

void DescribeInstanceAttributeResponse::UnmarshallerMap(std::map<string, string>& response_map) {
  int OperationLocks__length = 0;
  UnmarshallerInt(OperationLocks__length, response_map, "DescribeInstanceAttributeResponse.OperationLocks.Length");
  if(OperationLocks__length >= 0) {
    OperationLocks_.resize(OperationLocks__length);
    for(int i1 = 0; i1 < OperationLocks__length; i1++) {
      UnmarshallerString(OperationLocks_[i1].LockReason_, response_map, "DescribeInstanceAttributeResponse.OperationLocks["+string_ValueOfInt(i1)+"].LockReason");
    } // for(int i1 = 0; i1 < OperationLocks__length; i1++) {
  } // if(OperationLocks__length >= 0) {

    int SecurityGroupIds__length = 0;
    UnmarshallerInt(SecurityGroupIds__length, response_map, "DescribeInstanceAttributeResponse.SecurityGroupIds.Length");
    if(SecurityGroupIds__length >= 0) {
      SecurityGroupIds_.resize(SecurityGroupIds__length);
      for(int i1 = 0; i1 < SecurityGroupIds__length; i1++) {
      UnmarshallerString(SecurityGroupIds_[i1], response_map, "DescribeInstanceAttributeResponse.SecurityGroupIds["+string_ValueOfInt(i1)+"]");
      } // for(int i1 = 0; i1 < SecurityGroupIds__length; i1++) {
    } // if(SecurityGroupIds__length >= 0) {

    int PublicIpAddress__length = 0;
    UnmarshallerInt(PublicIpAddress__length, response_map, "DescribeInstanceAttributeResponse.PublicIpAddress.Length");
    if(PublicIpAddress__length >= 0) {
      PublicIpAddress_.resize(PublicIpAddress__length);
      for(int i1 = 0; i1 < PublicIpAddress__length; i1++) {
      UnmarshallerString(PublicIpAddress_[i1], response_map, "DescribeInstanceAttributeResponse.PublicIpAddress["+string_ValueOfInt(i1)+"]");
      } // for(int i1 = 0; i1 < PublicIpAddress__length; i1++) {
    } // if(PublicIpAddress__length >= 0) {

    int InnerIpAddress__length = 0;
    UnmarshallerInt(InnerIpAddress__length, response_map, "DescribeInstanceAttributeResponse.InnerIpAddress.Length");
    if(InnerIpAddress__length >= 0) {
      InnerIpAddress_.resize(InnerIpAddress__length);
      for(int i1 = 0; i1 < InnerIpAddress__length; i1++) {
      UnmarshallerString(InnerIpAddress_[i1], response_map, "DescribeInstanceAttributeResponse.InnerIpAddress["+string_ValueOfInt(i1)+"]");
      } // for(int i1 = 0; i1 < InnerIpAddress__length; i1++) {
    } // if(InnerIpAddress__length >= 0) {

  UnmarshallerString(InstanceId_, response_map, "DescribeInstanceAttributeResponse.InstanceId");
  UnmarshallerString(InstanceName_, response_map, "DescribeInstanceAttributeResponse.InstanceName");
  UnmarshallerString(ImageId_, response_map, "DescribeInstanceAttributeResponse.ImageId");
  UnmarshallerString(RegionId_, response_map, "DescribeInstanceAttributeResponse.RegionId");
  UnmarshallerString(ZoneId_, response_map, "DescribeInstanceAttributeResponse.ZoneId");
  UnmarshallerString(ClusterId_, response_map, "DescribeInstanceAttributeResponse.ClusterId");
  UnmarshallerString(InstanceType_, response_map, "DescribeInstanceAttributeResponse.InstanceType");
  UnmarshallerString(HostName_, response_map, "DescribeInstanceAttributeResponse.HostName");
  UnmarshallerString(Status_, response_map, "DescribeInstanceAttributeResponse.Status");
  UnmarshallerString(InternetChargeType_, response_map, "DescribeInstanceAttributeResponse.InternetChargeType");
  UnmarshallerInt(InternetMaxBandwidthIn_, response_map, "DescribeInstanceAttributeResponse.InternetMaxBandwidthIn");
  UnmarshallerInt(InternetMaxBandwidthOut_, response_map, "DescribeInstanceAttributeResponse.InternetMaxBandwidthOut");
  UnmarshallerString(VlanId_, response_map, "DescribeInstanceAttributeResponse.VlanId");
  UnmarshallerString(SerialNumber_, response_map, "DescribeInstanceAttributeResponse.SerialNumber");
  UnmarshallerString(CreationTime_, response_map, "DescribeInstanceAttributeResponse.CreationTime");
  UnmarshallerString(Description_, response_map, "DescribeInstanceAttributeResponse.Description");
  UnmarshallerString(InstanceNetworkType_, response_map, "DescribeInstanceAttributeResponse.InstanceNetworkType");
  UnmarshallerString(IoOptimized_, response_map, "DescribeInstanceAttributeResponse.IoOptimized");
  UnmarshallerString(InstanceChargeType_, response_map, "DescribeInstanceAttributeResponse.InstanceChargeType");
  UnmarshallerString(ExpiredTime_, response_map, "DescribeInstanceAttributeResponse.ExpiredTime");
    int VpcAttributes__PrivateIpAddress__length = 0;
    UnmarshallerInt(VpcAttributes__PrivateIpAddress__length, response_map, "DescribeInstanceAttributeResponse.VpcAttributes.PrivateIpAddress.Length");
    if(VpcAttributes__PrivateIpAddress__length >= 0) {
      VpcAttributes_.PrivateIpAddress_.resize(VpcAttributes__PrivateIpAddress__length);
      for(int i2 = 0; i2 < VpcAttributes__PrivateIpAddress__length; i2++) {
        UnmarshallerString(VpcAttributes_.PrivateIpAddress_[i2], response_map, "DescribeInstanceAttributeResponse.VpcAttributes.PrivateIpAddress["+string_ValueOfInt(i2)+"]");
      } // for(int i2 = 0; i2 < VpcAttributes__PrivateIpAddress__length; i2++) {
    } // if(VpcAttributes__PrivateIpAddress__length >= 0) {

    UnmarshallerString(VpcAttributes_.VpcId_, response_map, "DescribeInstanceAttributeResponse.VpcAttributes.VpcId");
    UnmarshallerString(VpcAttributes_.VSwitchId_, response_map, "DescribeInstanceAttributeResponse.VpcAttributes.VSwitchId");
    UnmarshallerString(VpcAttributes_.NatIpAddress_, response_map, "DescribeInstanceAttributeResponse.VpcAttributes.NatIpAddress");
    UnmarshallerString(EipAddress_.AllocationId_, response_map, "DescribeInstanceAttributeResponse.EipAddress.AllocationId");
    UnmarshallerString(EipAddress_.IpAddress_, response_map, "DescribeInstanceAttributeResponse.EipAddress.IpAddress");
    UnmarshallerInt(EipAddress_.Bandwidth_, response_map, "DescribeInstanceAttributeResponse.EipAddress.Bandwidth");
    UnmarshallerString(EipAddress_.InternetChargeType_, response_map, "DescribeInstanceAttributeResponse.EipAddress.InternetChargeType");
}


} } // namespace aliyun { namespace Ecs {

// end of file 
